package pers.warren.ai.oneapi;

import org.reactivestreams.Publisher;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.model.ModelRequest;
import pers.warren.ai.oneapi.bean.Model;
import pers.warren.ai.oneapi.bean.Token;
import reactor.core.publisher.Flux;

import java.util.List;
import java.util.Map;

/**
 * oneapi代理工具
 *
 * <p>https://github.com/songquanpeng/one-api</p>
 *
 * @author warren
 * @since 1.0-SNAPSHOT
 *
 */
public interface OneApiProxy {

    Model getModelByName(String modelName);

    Map<String,Model> getModelMap();

    String getKey(String modelName);

    List<Token> getKeys();

    Publisher<String> chatCompletions(Prompt prompt);

}
